為 Interview Bit 的第 27 題。
其實方法非常多,但這裡簡單介紹 2 種方法,有興趣的可以參考這一篇 [CSS] 元素置中的 N 個方法。
使用 position: absolute,inner box 會相對於 <div class='outer'></div>排版。
當使用 top: 50%,left: 50%,inner box 的左上角會在中心點,但是整體看起來並不是在中間的位置。
接下來使用transform:translate(-50%, -50%),translate() 會根據現在的位置進行水平和垂直的移動,translate(-50%, -50%) 表示將 inner box 水平向左偏移 50%,向上偏移 50%。

我們將 outer div 設置 display: flex,並使用 justify-content: center,將 inner div 水平置中,再使用 align-content: center 將 inner div 垂直置中。

參考資料:
[CSS] 元素置中的 N 個方法